// 做请求封装用的
import axios from 'axios';
import { showLoadingToast, closeToast } from "vant";
// create 是创建的意思
// baseURL 基础的地址
const api = axios.create({
  baseURL: "https://api-hmugo-web.itheima.net/api",
  timeout: 5000 // timeout 超时时间 单位是ms
})
// 请求拦截 在去发送请求之前要过的关卡
api.interceptors.request.use((config) => {
  // 一般情况下，我们会在请求拦截里面 开启loading动画 
  // 配置请求的token 信息
  // 在发送请求之前做些什么
  // console.log(config);
  // headers 不能随便自定义字段
  showLoadingToast({
    message: "加载中...",
    forbidClick: true,
    duration: 0,
  });
  config.headers['Authorization'] = '8888'
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 响应拦截
api.interceptors.response.use((response) => {
  // 对响应数据做点什么
  console.log(response);
  closeToast(); // 关闭加载提示
  // 401 没有权限，我们一般跳转到登录页面
  // 获取当前的路由信息，存起来。
  // 登录成功的时候在跳转回去。
  return response.data;
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});

export default api;
